1 /*
2 * PreferencesModelTest
3 *
4 * $RCSfile: PreferencesModelTest.java,v $
5 * $Revision: 1.1 $
6 * $Date: 2004/01/01 17:42:19 $
7 * $Source: /cvsroot/jpui/jpui/test/PreferencesModelTest.java,v $
8 *
9 * JPUI - Java Preferences User Interface
10 * Copyright (C) 2003
11 *
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the Free
14 * Software Foundation; either version 2 of the License, or (at your option)
15 * any later version.
16 *
17 * This program is distributed in the hope that it will be useful, but WITHOUT
18 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
20 * more details.
21 *
22 * You should have received a copy of the GNU General Public License along with
23 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
24 * Place, Suite 330, Boston, MA 02111-1307 USA
25 *
26 * Author: macksold@users.sourceforge.net
27 */
28
29 import java.util.prefs.BackingStoreException;
30 import java.util.prefs.Preferences;
31
32 import junit.framework.TestCase;
33
34 /***
35 * Test class for PreferencesModel
36 */
37 public class PreferencesModelTest extends TestCase {
38 private static final String TESTNODE = "PreferencesModelTestNode";
39
40 /***
41 * Constructor for PreferencesModelTest
42 * @param oArg
43 */
44 public PreferencesModelTest(String oArg) {
45 super(oArg);
46 }
47
48 /***
49 * @see TestCase#setUp()
50 */
51 protected void setUp() throws Exception {
52 super.setUp();
53 }
54
55 /***
56 * @see TestCase#tearDown()
57 */
58 protected void tearDown() throws Exception {
59 super.tearDown();
60 }
61
62 public void testGetCurrentNode() {
63 Preferences oUser = Preferences.userRoot();
64 PreferencesModel.Instance().setCurrentNode(oUser);
65
66 // current node should be user root
67 assertEquals(
68 oUser,
69 PreferencesModel.Instance().getCurrentNode());
70 }
71
72 public void testSetCurrentNode() {
73 Preferences oUser = Preferences.userRoot();
74 PreferencesModel.Instance().setCurrentNode(oUser);
75
76 // current node should be user root
77 assertEquals(
78 oUser,
79 PreferencesModel.Instance().getCurrentNode());
80 }
81
82 public void testSetAttribute() {
83 Preferences oUser = Preferences.userRoot();
84 PreferencesModel.Instance().setCurrentNode(oUser);
85 PreferencesModel.Instance().newNode(TESTNODE);
86
87 Preferences oFooNode = PreferencesModel.Instance().getCurrentNode();
88 // set the attribute
89 PreferencesModel.Instance().setAttribute("foo", "bar");
90 // foo should have a value of bar
91 assertEquals(
92 oFooNode.get("foo", null),
93 "bar");
94
95 // cleanup
96 try
97 {
98 oFooNode.remove("foo");
99 oFooNode.removeNode();
100 oUser.sync();
101 }
102 catch(BackingStoreException oEx)
103 {
104 fail(oEx.getMessage());
105 }
106 }
107
108 public void testRemoveAttribute() {
109 Preferences oUser = Preferences.userRoot();
110 PreferencesModel.Instance().setCurrentNode(oUser);
111 PreferencesModel.Instance().newNode(TESTNODE);
112
113 Preferences oFooNode = PreferencesModel.Instance().getCurrentNode();
114
115 // set the attribute
116 PreferencesModel.Instance().setAttribute("foo", "bar");
117 assertEquals(
118 oFooNode.get("foo", null),
119 "bar");
120 // remove the attribute
121 PreferencesModel.Instance().removeAttribute("foo");
122 // foo should be gone
123 assertNull(
124 oFooNode.get("foo", null));
125
126 // cleanup
127 try
128 {
129 oFooNode.removeNode();
130 oUser.sync();
131 }
132 catch(BackingStoreException oEx)
133 {
134 fail(oEx.getMessage());
135 }
136 }
137
138 public void testRenameAttribute() {
139 Preferences oUser = Preferences.userRoot();
140 PreferencesModel.Instance().setCurrentNode(oUser);
141 PreferencesModel.Instance().newNode(TESTNODE);
142
143 Preferences oFooNode = PreferencesModel.Instance().getCurrentNode();
144
145 // set the attribute
146 PreferencesModel.Instance().setAttribute("foo", "bar");
147 assertEquals(
148 oFooNode.get("foo", null),
149 "bar");
150
151 // rename the attribute
152 PreferencesModel.Instance().renameAttribute("foo", "baz");
153
154 // foo should be gone
155 assertNull(
156 oFooNode.get("foo", null));
157
158 // baz should now have the value foo used to have
159 assertEquals(
160 oFooNode.get("baz", null),
161 "bar");
162
163 // cleanup
164 try
165 {
166 oFooNode.removeNode();
167 oUser.sync();
168 }
169 catch(BackingStoreException oEx)
170 {
171 fail(oEx.getMessage());
172 }
173 }
174
175 public void testNewNode() {
176 Preferences oUser = Preferences.userRoot();
177 PreferencesModel.Instance().setCurrentNode(oUser);
178 PreferencesModel.Instance().newNode(TESTNODE);
179
180 Preferences oFooNode = PreferencesModel.Instance().getCurrentNode();
181
182 // new node should have the name TESTNODE
183 assertEquals(
184 oFooNode.name(),
185 TESTNODE);
186
187 // cleanup
188 try
189 {
190 oFooNode.remove("foo");
191 oFooNode.removeNode();
192 oUser.sync();
193 }
194 catch(BackingStoreException oEx)
195 {
196 fail(oEx.getMessage());
197 }
198 }
199
200 public void testDeleteNode() {
201 Preferences oUser = Preferences.userRoot();
202 PreferencesModel.Instance().setCurrentNode(oUser);
203 PreferencesModel.Instance().newNode(TESTNODE);
204
205 Preferences oFooNode = PreferencesModel.Instance().getCurrentNode();
206
207 // new node should have the name TESTNODE
208 assertEquals(
209 oFooNode.name(),
210 TESTNODE);
211
212 PreferencesModel.Instance().deleteNode();
213 try
214 {
215 oFooNode.put("foo", "bar");
216 fail("Should throw IllegalStateException: node removed");
217 }
218 catch(IllegalStateException oEx)
219 {
220 }
221
222 // cleanup
223 try
224 {
225 oUser.sync();
226 }
227 catch(BackingStoreException oEx)
228 {
229 fail(oEx.getMessage());
230 }
231 }
232
233 }
This page was automatically generated by Maven